package com.hjm.project.agentInfo.profitSbOrder.mapper;

import java.util.List;
import java.util.Map;

import com.hjm.project.agentInfo.profitSbOrder.domain.ProfitSbOrder;
import com.hjm.project.agentInfo.profitSbOrder.domain.ProfitSbOrderExport;

/**
 * 分润单号Mapper接口
 * 
 * @author LOVE
 * @date 2020-11-27
 */
public interface ProfitSbOrderMapper 
{
    /**
     * 查询分润单号
     * 
     * @param ordernumber 分润单号ID
     * @return 分润单号
     */
    public ProfitSbOrder selectProfitSbOrderById(String ordernumber);

    /**
     * 查询分润单号列表
     * 
     * @param profitSbOrder 分润单号
     * @return 分润单号集合
     */
    public List<ProfitSbOrder> selectProfitSbOrderList(ProfitSbOrder profitSbOrder);

    /**
     * 新增分润单号
     * 
     * @param profitSbOrder 分润单号
     * @return 结果
     */
    public int insertProfitSbOrder(ProfitSbOrder profitSbOrder);

    /**
     * 修改分润单号
     * 
     * @param profitSbOrder 分润单号
     * @return 结果
     */
    public int updateProfitSbOrder(ProfitSbOrder profitSbOrder);

    /**
     * 删除分润单号
     * 
     * @param ordernumber 分润单号ID
     * @return 结果
     */
    public int deleteProfitSbOrderById(String ordernumber);

    /**
     * 批量删除分润单号
     * 
     * @param ordernumbers 需要删除的数据ID
     * @return 结果
     */
    public int deleteProfitSbOrderByIds(String[] ordernumbers);

    /**
     * 查询需要导出的数据
     * @param orderNumber String
     * @return List
     */
    List<Map<String, Object>> selectAgentPaidByOrderNumber(String orderNumber);
    /**
     * 获取今日订单号 当天未审核的订单
     *
     * @param params 分润单号
     * @return 分润单号集合
     */
    public List<Map<String,Object>> getDateOrdernumber(Map<String,Object> params);

    /**
     * 未出款数据
     *
     * @param params 分润单号
     * @return 分润单号集合
     */
    public List<Map<String,Object>> getUnPayPageList(Map<String,Object> params);
    public Map<String,Object> getUnPayPageListSum(Map<String,Object> params);

    /**
     * 未出款数据导出
     *
     * @param params 分润单号
     * @return 分润单号集合
     */
    public List<ProfitSbOrderExport> getUnPayPageExport(Map<String,Object> params);

    /**
     * 保存添加订单
     *
     * @param params
     * @return
     */
    public int saveOrder(Map<String,Object> params);

    int examineAgent(String ordernumber);

    /**
     * 获取订单号信息
     *
     * @param params
     * @return
     */
    public Map<String,Object> getOrderOne(Map<String,Object> params);

    /**
     * 根据ID获取出款数据
     *
     * @param params
     * @return
     */
    public List<Map<String,Object>> getUnPayListById(Map<String,Object> params);

    /**
     * 获取所有未出款的数据
     *
     * @param params
     * @return
     */
    public List<Map<String,Object>> getUnPayList(Map<String,Object> params);

    /**
     * 更新出款数据信息
     *
     * @param params
     * @return
     */
    public int updateMerPaidOrderTwo(Map<String,Object> params);

    /**
     * 批量更新出款信息单号
     * @Param [params]
     * @Return int
     */
    public int updateMerPaidOrderTwoList(Map<String,Object> params);

    /**
     * 更新出款数据信息
     *
     * @param params
     * @return
     */
    public int updateOrderInfoByDb(Map<String,Object> params);

    /**
     * 保存冻结出款 冻结/解冻出款
     * @param params
     * @return
     */
    public int updateMerPaidFrozen(Map<String,Object> params);

    /**
     * 审核单
     *
     * @param params 分润单号
     * @return 分润单号集合
     */
    public List<Map<String,Object>> getOrderPageList(Map<String,Object> params);


    /**
     * 获取订单号信息
     *
     * @param params
     * @return
     */
    public Map<String,Object> auditOrderTwo(Map params);

    /**
     * 审核
     * @param params
     * @return
     */
    public int auditOrder (Map params);

    public int auditOrderError (Map params);

    /**
     *
     *
     * @param list
     * @return
     */
    public List<Map<String,Object>> selectPaidStatusBySerial(List<String> list);

    /**
     *
     *
     * @param params
     * @return
     */
    public int updateStatusToSuccessBySerial(Map<String,Object> params);

    /**
     * 根据订单号获取出款数据
     *
     * @param params
     * @return
     */
    public List<Map<String,Object>> getUnpayListByOrder(Map<String,Object> params);

    /**
     * 获取订单号信息
     *
     * @param settleSerial
     * @return
     */
    public Map<String,Object> getApAc(String settleSerial);

    /**
     * 卡包表
     * @param params
     * @return
     */
    public int updateBag(Map<String,Object> params);

    /**
     * 打款数据表
     * @param params
     * @return
     */
    public int updatePaid(Map<String,Object> params);

    /**
     * 打款数据表
     * @param params
     * @return
     */
    public int updateAcct(Map<String,Object> params);

    /**
     * 出款表结算卡号
     * @param params
     * @return
     */
    public int updatePAIDDLS(Map<String,Object> params);


    /**
     * 根据选中出款失败数据id 查询单号
     * @param params
     * @return
     */
    public List<String> getAllAgentPaidNumber(Map<String,Object> params);

    /**
     * 修改mer_paid流水号、状态
     * @param params
     * @return
     */
    public int updateAgentPaidData(Map<String,Object> params);

    /**
     * 添入单后重新单号表统计数据
     *
     * @param params
     * @return
     */
    public int updateCtsAgent(Map<String,Object> params);

    /**
     * 分润返现列表
     * @param params 参数
     * @return 结果
     */
    public List<Map<String,Object>> getCallbackList(Map<String,Object> params);

    /**
     * 分润返现列表汇总
     * @param params 参数
     * @return 结果
     */
    public List<Map<String,Object>> getCallbackListSum(Map<String,Object> params);

    /**
     *获取分润出款信息
     * @Param [params]
     * @Return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     */
    public List<Map<String,Object>> selectAgentPaidInfo(Map<String,Object> params);

    /**
     * 获取所有的出款总额
     * @Param [params]
     * @Return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     */
    public Map<String,Object> getUnPayAllSum(Map<String,Object> params);
    public List<Map<String,Object>> getUnPayAllList(Map<String,Object> params);

}
